package com.jiaozi.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jiaozi.base.utils.bean.R;
import com.jiaozi.system.entity.SysUser;
import com.jiaozi.system.pojo.param.sys.user.UserPageParam;
import com.jiaozi.system.pojo.param.sys.user.UserPasswordParam;
import com.jiaozi.system.pojo.param.sys.user.UserSaveParam;
import com.jiaozi.system.pojo.param.sys.user.UserUpdateParam;
import com.jiaozi.system.pojo.vo.sys.user.UserInfoVO;
import com.jiaozi.system.pojo.vo.sys.user.UserPageVO;
import com.github.yulichang.base.MPJBaseService;

/**
 * 系统-用户(SysUser)表服务接口
 *
 * @author jiaozi
 * @since 2024-08-15 14:02:36
 */
public interface SysUserService extends MPJBaseService<SysUser> {
    /**
     * 分页查询用户列表
     * @param pageNum
     * @param pageSize
     * @param param
     * @return
     */
    R<IPage<UserPageVO>> userPage(Long pageNum, Long pageSize, UserPageParam param);


    R<UserInfoVO> userQuery(String userId);

    /**
     * 添加用户信息
     * @param userSaveParam
     * @return
     */
    R userSave(UserSaveParam userSaveParam);

    /**
     * 修改用户信息
     * @param userUpdateParam
     * @return
     */
    R userUpdate(UserUpdateParam userUpdateParam, String id);

    /**
     * 修改用户密码
     * @param userPasswordParam
     * @param id
     * @return
     */
    R userPassword(UserPasswordParam userPasswordParam, String id);

    /**
     * 删除用户信息
     * @param userId
     * @return
     */
    R userDelete(String userId);
    /**
     * 重置用户密码
     * @param userId
     * @return
     */
    R resettingPwd(String userId);
}

